#ifndef GAMEFUNCTION_HH
#define GAMEFUNCTION_HH

#include "ICharacter.hh"
#include "Ahero.hh"
#include "Aenemy.hh"
#include "randomFunc.hh"
#include "IO.hh"
#include "heros.hh"
#include "enemys.hh"
#include <vector>
#include <iostream>
#include <algorithm> 

namespace gamefunction {
    std::vector<ICharacter*> getFightVec(std::vector<ICharacter*>& hero_team, std::vector<ICharacter*>& enemy_team);
    void fight_round(std::vector<ICharacter*>& fight_vec, std::vector<ICharacter*>& hero_team, std::vector<ICharacter*>& enemy_team);
    void hole_fight(std::vector<ICharacter*>& hero_team, std::vector<ICharacter*>& enemy_team);
    std::vector<ICharacter*> selectHeroes();
    std::vector<ICharacter*> enemy_team_1();
    std::vector<ICharacter*> enemy_team_2();
    std::vector<ICharacter*> enemy_team_3();
    std::vector<ICharacter*> enemy_team_4();
    std::vector<ICharacter*> enemy_team_5();
    std::vector<ICharacter*> enemy_team_6();
    std::vector<ICharacter*> enemy_team_7();
    std::vector<ICharacter*> enemy_team_8();
    std::vector<ICharacter*> enemy_team_9();
    std::vector<ICharacter*> enemy_team_10();
    std::vector<ICharacter*> get_random_fight();
    void hot_spring(std::vector<ICharacter*> hero_team);
}

#endif